﻿Public Class UsrCtrlLopHoc
    Public Sub LoadCBXChon()
        cbxChon.Items.Add("Tìm Theo Khối")
        cbxChon.Items.Add("Tìm Theo Lớp")
    End Sub
    Public Sub LoadCBXKhoi()
        Dim Lop_BUS As LopBUS = New LopBUS
        Dim sql As String = "select * from KHOI"
        Lop_BUS.LoadCBX(cbxKhoi, sql)
        cbxKhoi.DisplayMember = "TenKhoi"
        cbxKhoi.ValueMember = "MaKhoi"
    End Sub
    Public Sub LoadDaTa()
        Dim Lop_BUS As LopBUS = New LopBUS
        Dim sql As String = "select l.MaLop, l.TenLop, l.NgayLap, l.SiSo, k.TenKhoi " &
                            "from Lop l, Khoi k " &
                            "where l.MaKhoi = k.MaKhoi"
        Lop_BUS.LoadDGV(dgvLop, sql)
    End Sub

    Private Sub btnSearchLop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearchLop.Click
        Dim Lop_BUS As LopBUS = New LopBUS
        If (cbxChon.Text = "Tìm Theo Khối") Then
            Dim sql As String = "select l.MaLop, l.TenLop, l.NgayLap, l.SiSo, k.TenKhoi " &
                            "from Lop l, Khoi k " &
                            "where l.MaKhoi = k.MaKhoi and l.MaKhoi Like '%" & txtSearch.Text & "%'"
            Lop_BUS.LoadDGV(dgvLop, sql)
        ElseIf (cbxChon.Text = "Tìm Theo Lớp") Then
            Dim sql As String = "select distinct(l.MaLop), l.TenLop, l.NgayLap, l.SiSo, k.TenKhoi " &
                            "from Lop l, Khoi k " &
                            "where l.MaKhoi = k.MaKhoi and l.MaLop Like '%" & txtSearch.Text & "%'"
            Lop_BUS.LoadDGV(dgvLop, sql)
        End If
    End Sub

    Private Sub btnThemLop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThemLop.Click
        Dim Lop_BUS As LopBUS = New LopBUS
        Dim lop As LopDTO = New LopDTO
        lop.MaLop = txtMaLop.Text
        lop.TenLop = txtTenLop.Text
        lop.NgayLap = dtpNgayLap.Value
        lop.SiSo = Convert.ToInt32(txtSiSo.Text)
        lop.MaKhoi = cbxKhoi.SelectedValue.ToString()
        If (Lop_BUS.ThemLop(lop)) Then
            MessageBox.Show("Thêm lớp thành công", "^^", MessageBoxButtons.OK)
            LoadDaTa()
        Else
            MessageBox.Show("Thao tác thất bại, vui lòng kiểm tra lại dữ liệu", "Opps!", MessageBoxButtons.OK)
        End If
    End Sub

    Private Sub btnXoaLop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnXoaLop.Click
        Dim Lop_BUS As LopBUS = New LopBUS
        Dim index As DataGridViewSelectedRowCollection = dgvLop.SelectedRows
        For Each A As DataGridViewRow In index
            Dim MaLop As String = A.Cells(0).Value
            Dim sql As String = "select * from BAOCAO where MaLop = '" & MaLop & "'"
            Dim GetDT As DataProvider = New DataProvider
            Dim reader As SqlClient.SqlDataReader = GetDT.SQL_ExcuteQueryReader(sql)
            If reader.HasRows Then
                Dim result As MsgBoxResult = MessageBox.Show("Bạn có chắc muốn xóa các báo cáo của lớp này???", "???", MessageBoxButtons.OKCancel)
                If result = MsgBoxResult.Cancel Then
                    Return
                ElseIf result = MsgBoxResult.Ok Then
                    sql = "select * from HOCSINH where MaLop = '" & MaLop & "'"
                    reader = GetDT.SQL_ExcuteQueryReader(sql)
                    If reader.HasRows Then
                        result = MessageBox.Show("Bạn có chắc muốn xóa các học sinh của lớp này???", "???", MessageBoxButtons.OKCancel)
                        If result = MsgBoxResult.Cancel Then
                            Return
                        ElseIf result = MsgBoxResult.Ok Then
                            If (Lop_BUS.XoaLop(MaLop) = False) Then
                                MessageBox.Show("Thao tác thất bại, vui lòng kiểm tra lại kết nối", "Opps!", MessageBoxButtons.OK)
                                Return
                            End If
                        End If
                    End If
                End If
            Else
                sql = "select * from HOCSINH where MaLop = '" & MaLop & "'"
                reader = GetDT.SQL_ExcuteQueryReader(sql)
                If reader.HasRows Then
                    Dim result As MsgBoxResult = MessageBox.Show("Bạn có chắc muốn xóa các học sinh của lớp này???", "???", MessageBoxButtons.OKCancel)
                    If result = MsgBoxResult.Cancel Then
                        Return
                    ElseIf result = MsgBoxResult.Ok Then
                        If (Lop_BUS.XoaLop(MaLop) = False) Then
                            MessageBox.Show("Thao tác thất bại, vui lòng kiểm tra lại kết nối", "Opps!", MessageBoxButtons.OK)
                            Return
                        End If
                    End If
                End If
            End If
        Next
        MessageBox.Show("Xóa thành công", "^^", MessageBoxButtons.OK)
        LoadDaTa()
    End Sub

    Private Sub btnSuaLop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSuaLop.Click
        MessageBox.Show("Tèo mập địch", ":))", MessageBoxButtons.OK)
        Dim Lop_BUS As LopBUS = New LopBUS
        Dim lop As LopDTO = New LopDTO
        lop.MaLop = txtMaLop.Text
        lop.TenLop = txtTenLop.Text
        lop.NgayLap = dtpNgayLap.Value
        lop.SiSo = Convert.ToInt32(txtSiSo.Text)
        lop.MaKhoi = cbxKhoi.SelectedValue.ToString()
        If (Lop_BUS.SuaLop(lop)) Then
            MessageBox.Show("Cập nhật lớp thành công", "^^", MessageBoxButtons.OK)
            LoadDaTa()
        Else
            MessageBox.Show("Thao tác thất bại, vui lòng kiểm tra lại dữ liệu", "Opps!", MessageBoxButtons.OK)
        End If
    End Sub

    Private Sub dgvLop_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgvLop.SelectionChanged
        txtMaLop.Text = dgvLop.CurrentRow.Cells(0).Value
        txtTenLop.Text = dgvLop.CurrentRow.Cells(1).Value
        dtpNgayLap.Value = dgvLop.CurrentRow.Cells(2).Value.ToString()
        txtSiSo.Text = dgvLop.CurrentRow.Cells(3).Value
        cbxKhoi.Text = dgvLop.CurrentRow.Cells(4).Value
    End Sub
End Class
